package com.wicket.okrbff.biz.service;

import com.wicket.okrbff.biz.service.dto.req.*;
import com.wicket.okrbff.biz.service.dto.res.*;
import com.wicket.okrframework.integration.FwBaseDivineDataClient;
import com.wicket.okrframework.integration.FwBaseBusinessObjectClient;
import com.wicket.okrframework.integration.dto.QueryUserLoginInfoRespDto;
import com.wicket.okrframework.integration.dto.QueryUserLoginInfoReqDto;
import cn.hutool.core.bean.BeanUtil;
import java.util.stream.Collectors;
import com.wicket.okrbff.common.exception.Assert;
import com.wicket.okrbff.common.util.CommonFunctionHelper;
import com.wicket.okrframework.integration.FwBaseMemberClient;
import com.wicket.okrframework.integration.dto.QueryRoleRelListRespDto;
import com.wicket.okrframework.integration.dto.QueryRoleRelListReqDto;
import com.wicket.okrframework.integration.dto.AddStaffBeginMemberRespDto;
import com.wicket.okrframework.integration.dto.AddStaffBeginMemberReqDto;
import com.wicket.okrframework.integration.dto.QueryStaffBeginMemberDetailRespDto;
import com.wicket.okrframework.integration.dto.QueryStaffBeginMemberDetailReqDto;
import com.wicket.okrframework.integration.FwBaseOrgDictionaryClient;
import com.wicket.okrframework.integration.dto.QueryOrgClassBorderDetailRespDto;
import com.wicket.okrframework.integration.dto.QueryOrgClassBorderDetailReqDto;
import com.wicket.okrframework.integration.FwBaseInductionRecordClient;
import com.wicket.okrframework.integration.dto.QueryInductionRecordInfoDetailComRespDto;
import com.wicket.okrframework.integration.dto.QueryInductionRecordInfoDetailComReqDto;
import com.wicket.okrframework.integration.dto.InValidIsinvalidSetStaffMemberRespDto;
import com.wicket.okrframework.integration.dto.InValidIsinvalidSetStaffMemberReqDto;
import com.wicket.okrframework.integration.dto.ClearTokenFromRedisRespDto;
import com.wicket.okrframework.integration.dto.ClearTokenFromRedisReqDto;
import com.wicket.okrframework.integration.dto.ClearUserInfoFromRedisRespDto;
import com.wicket.okrframework.integration.dto.ClearUserInfoFromRedisReqDto;
import com.wicket.okrframework.integration.dto.UpdateBeginMembInfoRespDto;
import com.wicket.okrframework.integration.dto.UpdateBeginMembInfoReqDto;
import com.wicket.okrframework.integration.dto.QueryStaffFilterRoleRelListBorderRespDto;
import com.wicket.okrframework.integration.dto.QueryStaffFilterRoleRelListBorderReqDto;
import com.wicket.okrframework.integration.dto.QueryDeptAdminRoleRelListRespDto;
import com.wicket.okrframework.integration.dto.QueryDeptAdminRoleRelListReqDto;
import com.wicket.okrframework.integration.dto.DeleteRoleRelRespDto;
import com.wicket.okrframework.integration.dto.DeleteRoleRelReqDto;
import com.wicket.okrframework.integration.dto.DeleteDeptAdminRoleRelRespDto;
import com.wicket.okrframework.integration.dto.DeleteDeptAdminRoleRelReqDto;
import com.wicket.okrframework.integration.dto.AddRoleRelRespDto;
import com.wicket.okrframework.integration.dto.AddRoleRelReqDto;
import com.wicket.okrframework.integration.dto.QueryStaffBeginMemberListRespDto;
import com.wicket.okrframework.integration.dto.QueryStaffBeginMemberListReqDto;
import com.wicket.okrframework.integration.dto.QueryOrgStaffListRespDto;
import com.wicket.okrframework.integration.dto.QueryOrgStaffListReqDto;
import com.wicket.okrframework.integration.dto.QueryRoleRelDetailRespDto;
import com.wicket.okrframework.integration.dto.QueryRoleRelDetailReqDto;
import com.wicket.okrframework.integration.dto.CancelIsinvalidSetStaffMemberRespDto;
import com.wicket.okrframework.integration.dto.CancelIsinvalidSetStaffMemberReqDto;
import com.wicket.okrframework.integration.FwBaseOrgClient;
import com.wicket.okrframework.integration.dto.QueryRoleRelListBorderRespDto;
import com.wicket.okrframework.integration.dto.QueryRoleRelListBorderReqDto;
import java.util.ArrayList;
import cn.hutool.core.collection.CollectionUtil;
import java.util.List;
import com.wicket.okrframework.integration.dto.QueryFilterDeptSatffListRespDto;
import com.wicket.okrframework.integration.dto.QueryFilterDeptSatffListReqDto;
import com.wicket.okrbff.biz.service.dto.common.BffStaffBeginMemberDto;
import com.wicket.okrframework.integration.dto.AddDeptAdminRoleRelRespDto;
import com.wicket.okrframework.integration.dto.AddDeptAdminRoleRelReqDto;
import com.wicket.okrframework.integration.dto.ArchiveDeptAdminRoleRelRespDto;
import com.wicket.okrframework.integration.dto.ArchiveDeptAdminRoleRelReqDto;
import com.wicket.okrframework.integration.dto.ArchiveBeginMemberRespDto;
import com.wicket.okrframework.integration.dto.ArchiveBeginMemberReqDto;
import com.wicket.okrframework.integration.dto.InTransactionStaffBeginMemberRespDto;
import com.wicket.okrframework.integration.dto.InTransactionStaffBeginMemberReqDto;
import com.wicket.okrframework.integration.dto.CancelTransactionStaffBeginMemberRespDto;
import com.wicket.okrframework.integration.dto.CancelTransactionStaffBeginMemberReqDto;
import com.wicket.okrframework.integration.dto.QueryOrgMemberListBorderRespDto;
import com.wicket.okrframework.integration.dto.QueryOrgMemberListBorderReqDto;
import com.wicket.okrframework.integration.dto.QueryOrgDetailComRespDto;
import com.wicket.okrframework.integration.dto.QueryOrgDetailComReqDto;
import com.wicket.okrframework.integration.dto.BatchQueryInductionRecordBorderRespDto;
import com.wicket.okrframework.integration.dto.BatchQueryInductionRecordBorderReqDto;
import com.wicket.okrframework.integration.dto.QueryOrgClassBorderDetailComBorderRespDto;
import com.wicket.okrframework.integration.dto.QueryOrgClassBorderDetailComBorderReqDto;
import com.wicket.okrframework.integration.dto.GetUserBasicInfoFromRedisRespDto;
import com.wicket.okrframework.integration.dto.GetUserBasicInfoFromRedisReqDto;
import com.wicket.okrframework.integration.dto.AddGetUserIrInfoFromRedisRespDto;
import com.wicket.okrframework.integration.dto.AddGetUserIrInfoFromRedisReqDto;
import com.wicket.okrframework.integration.dto.BatchQueryRoleRelBorderRespDto;
import com.wicket.okrframework.integration.dto.BatchQueryRoleRelBorderReqDto;
import com.wicket.okrbff.biz.service.dto.common.BffBizRoleRelDto;
import com.wicket.okrframework.integration.dto.QueryLetterBeginMemberListRespDto;
import com.wicket.okrframework.integration.dto.QueryLetterBeginMemberListReqDto;
import com.wicket.okrframework.integration.dto.ArchiveRoleRelRespDto;
import com.wicket.okrframework.integration.dto.ArchiveRoleRelReqDto;
import com.wicket.okrframework.integration.dto.BatchQueryOriginalRoleMemberInductionRecordComRespDto;
import com.wicket.okrframework.integration.dto.BatchQueryOriginalRoleMemberInductionRecordComReqDto;
import com.wicket.okrcomponent.integration.FwCompMessageClient;
import com.wicket.okrcomponent.integration.dto.ImplementIniReportTaskMsgLocationByLoginComRespDto;
import com.wicket.okrcomponent.integration.dto.ImplementIniReportTaskMsgLocationByLoginComReqDto;

/**
 * @author ：
 * @date ：
 *
 * 
 * @version 1.0
 */
public interface MemberService {
    /**
   * B1-2新增员工身份人员（管理）
   */
    BffAddStaffBeginMemberRespDto addStaffBeginMember(BffAddStaffBeginMemberReqDto reqDto);


    /**
   * B1-2查询角色人员列表（管理）
   */
    BffQueryRoleRelListRespDto queryRoleRelList(BffQueryRoleRelListReqDto reqDto);

    /**
   * B1-2查询员工身份人员列表（管理）	
   */
    BffQueryStaffBeginMemberListRespDto queryStaffBeginMemberList(BffQueryStaffBeginMemberListReqDto reqDto);

    /**
   * B查询个人面板详情（公共）
   */
    BffQueryStaffBeginMemberInfoDetailRespDto queryStaffBeginMemberInfoDetail(BffQueryStaffBeginMemberInfoDetailReqDto reqDto);

    /**
   * B1-2查询组织下成员列表（边界）
   */
    BffQueryOrgMemberListRespDto queryOrgMemberList(BffQueryOrgMemberListReqDto reqDto);

    /**
   * B1-2查询角色人员列表（边界）
   */
    BffQueryRoleRelListBorderRespDto queryRoleRelListBorder(BffQueryRoleRelListBorderReqDto reqDto);

    /**
   * B1-2取消设员工无效（管理）
   */
    BffCancelIsinvalidSetStaffMemberRespDto cancelIsinvalidSetStaffMember(BffCancelIsinvalidSetStaffMemberReqDto reqDto);

    /**
   * B1-2查询角色人员详情（管理）
   */
    BffQueryRoleRelDetailRespDto queryRoleRelDetail(BffQueryRoleRelDetailReqDto reqDto);

    /**
   * B1-新增角色人员（管理）
   */
    BffAddRoleRelRespDto addRoleRel(BffAddRoleRelReqDto reqDto);

    /**
     * B1-2设员工无效（管理）
     */
    BffInValidIsinvalidSetStaffMemberRespDto inValidIsinvalidSetStaffMember(BffInValidIsinvalidSetStaffMemberReqDto reqDto);

    /**
   * B1-2查询去重部门员工列表（管理）
   */
    BffQueryFilterDeptSatffListRespDto queryFilterDeptSatffList(BffQueryFilterDeptSatffListReqDto reqDto);

    /**
   * B1-2查询组织员工列表（边界）
   */
    BffQueryOrgStaffListRespDto queryOrgStaffList(BffQueryOrgStaffListReqDto reqDto);

    /**
   * B1-2查询员工去重角色人员列表（管理）
   */
    BffQueryStaffFilterRoleRelListRespDto queryStaffFilterRoleRelList(BffQueryStaffFilterRoleRelListReqDto reqDto);

    /**
   * B1-2修改身份人员资料（管理）
   */
    BffUpdateBeginMembInfoRespDto updateBeginMembInfo(BffUpdateBeginMembInfoReqDto reqDto);

    /**
   * B1-3取消异动员工身份人员
   */
    BffCancelTransactionStaffBeginMemberRespDto cancelTransactionStaffBeginMember(BffCancelTransactionStaffBeginMemberReqDto reqDto);

    /**
   * B1-3设异动员工身份人员
   */
    BffInTransactionStaffBeginMemberRespDto inTransactionStaffBeginMember(BffInTransactionStaffBeginMemberReqDto reqDto);

    /**
   * B1-3存档员工身份人员
   */
    BffArchiveBeginMemberRespDto archiveBeginMember(BffArchiveBeginMemberReqDto reqDto);

    /**
   * B1-2修改角色人员备注（管理）
   */
    BffUpdateRoleRelNoteRespDto updateRoleRelNote(BffUpdateRoleRelNoteReqDto reqDto);

    /**
   * B1-2查询员工身份人员详情（管理）
   */
    BffQueryStaffBeginMemberDetailRespDto queryStaffBeginMemberDetail(BffQueryStaffBeginMemberDetailReqDto reqDto);

    /**
   * B1-存档角色人员（管理）
   */
    BffArchiveRoleRelRespDto archiveRoleRel(BffArchiveRoleRelReqDto reqDto);

    /**
     * B1-2查询部门直属员工列表（边界）-备用
     */
    BffQueryDeptDirectStaffListRespDto queryDeptDirectStaffList(BffQueryDeptDirectStaffListReqDto reqDto);

    /**
   * B1-2存档部门管理员（边界）
   */
    BffArchiveDeptAdminRoleRelRespDto archiveDeptAdminRoleRel(BffArchiveDeptAdminRoleRelReqDto reqDto);

    /**
   * B1-2新增部门管理员（边界）
   */
    BffAddDeptAdminRoleRelRespDto addDeptAdminRoleRel(BffAddDeptAdminRoleRelReqDto reqDto);

    /**
     * B1-2查询员工身份人员详情（边界）
     */
    BffQueryBeginMemberDetailRespDto queryBeginMemberDetail(BffQueryBeginMemberDetailReqDto reqDto);

    /**
   * B1-2删除部门管理员（管理）
   */
    BffDeleteDeptAdminRoleRelRespDto deleteDeptAdminRoleRel(BffDeleteDeptAdminRoleRelReqDto reqDto);

    /**
   * B1-2删除角色人员（管理）
   */
    BffDeleteRoleRelRespDto deleteRoleRel(BffDeleteRoleRelReqDto reqDto);

    /**
   * B1-2查询部门管理员列表（管理）
   */
    BffQueryDeptAdminRoleRelListRespDto queryDeptAdminRoleRelList(BffQueryDeptAdminRoleRelListReqDto reqDto);
/**
   * B1-2设置员工无效(管理)
   */
    BffSetInvalidStaffMemberRespDto setInvalidStaffMember(BffSetInvalidStaffMemberReqDto reqDto);
/**
   * B1-2批量查业务角色人员(管理)(边界)
   */
    BffBatchQueryBizRoleRelBorderRespDto batchQueryBizRoleRelBorder(BffBatchQueryBizRoleRelBorderReqDto reqDto);
/**
   * B1-2查询字母身份人员列表(管理)
   */
    BffQueryLetterBeginMemberListRespDto queryLetterBeginMemberList(BffQueryLetterBeginMemberListReqDto reqDto);
    //
}
